본문으로 건너뛰기

Part 1: Network Communication Policy

ItemContent
Document NamePart 1: Network Communication Policy
Product NameDTA Wide Sleep Management Platform
Date2026-02-10
ScopePart 1 (Mobile App)

1. TLS Policy

1.1 TLS Version and Cipher Suites

ItemRelease BuildDebug Build
Minimum TLS VersioniOS default ATS policy (TLS 1.2+)iOS default ATS policy
Cipher SuiteiOS system defaultsiOS system defaults
Perfect Forward Secrecy✅ iOS ATS default requirement✅ iOS ATS default requirement

Note:

  • iOS 18.0+ minimum support means TLS 1.3 is negotiated by default
  • Uses iOS default ATS policy without additional Info.plist NSAppTransportSecurity configuration

2. App ↔ API Communication Flow


3. Error Handling and User Notifications

3.1 Network Error Types

Error TypeHTTP StatusUser MessageDeveloper Log
Connection Failure-"Cannot connect to server. Please check your internet connection."Connection timeout
Authentication Error401"Your login has expired. Please log in again."Unauthorized
Permission Error403"You don't have permission to access this."Forbidden
Server Error500"A temporary error occurred. Please try again later."Internal server error

3.2 Error Handling Flow


4. External Service Communication

4.1 Firebase Cloud Messaging (FCM)

ItemConfiguration
ProtocolHTTPS (TLS 1.3)
Data TransmissionDevice token only (sensitive data excluded)
Payload Encryption✅ End-to-End (app-level AES-256)

4.2 Firebase Crashlytics (Crash Monitoring)

ItemConfiguration
ProtocolHTTPS (Google managed)
Data TransmissionCrash reports, anonymized device information
Firebase AnalyticsProduction disabled (IS_ANALYTICS_ENABLED=false)

5. Response Integrity and Authenticity Verification

5.1 Current iOS Response Validation Layer Status

Validation LayerReference FileNotes
TLS Transport EncryptionExt+URLSessionConfiguration.swiftiOS ATS default policy
HTTP Status Code ValidationLiveSleepQDENetworkManager+UrlSession+Run.swift2xx/4xx/5xx branch handling
Swift Decodable Type ValidationNetworkSerialization.swiftJSON structure and type validation only
Response Body HMAC/Signature Validation❌ Not implemented-
Response Header (Content-Type, etc.) Validation❌ Not implemented-

5.2 Current Response Validation Flow


Evidence and References (Artifacts)

  1. URLSession Configuration Code - Ext+URLSessionConfiguration.swift (cache policy, timeout)
  2. ATS Configuration - iOS default ATS usage
  3. TLS Configuration Validation - [TODO: SSL Labs scan execution needed]
  4. Token Refresh Code - +UrlSession+Run.swift (401 auto-refresh, exponential backoff)
  5. Error Handling Code - Network error handling
  6. Rate Limiting Implementation - Server-side Redis-based (100 req/min per user)
  7. Communication Flow Diagram - Section 2 of this document
  8. Firebase Crashlytics Configuration - GoogleService-Info-prod.plist
  9. Android Network Security Config - [TODO: Android implementation planned]
RegulationRequirementImplementationEvidence
BSI TR-03161 Part 1Secure communication channelTLS (iOS ATS default), Certificate Pinning [TODO: Not implemented]URLSession configuration code
GDPR Article 32Transmission encryptionTLS (iOS ATS default)This document
OWASP MASVS-NETWORKNetwork securityTLS (iOS ATS), Certificate Pinning [TODO: Not implemented][TODO: MobSF execution needed]